from math import log
from math import ceil
import os
import sys
from collections import Counter as ctr, deque as dq,defaultdict as dd
from io import BytesIO, IOBase
from types import GeneratorType
BUFSIZE = 8192
class FastIO(IOBase):
newlines = 0
def __init__(self, file):
self._fd = file.fileno()
self.buffer = BytesIO()
self.writable = 'x' in file.mode or 'r' not in file.mode
self.write = self.buffer.write if self.writable else None
def read(self):
while True:
b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
if not b:
break
ptr = self.buffer.tell()
self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
self.newlines = 0
return self.buffer.read()
def readline(self):
while self.newlines == 0:
b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
self.newlines = b.count(b'\n') + (not b)
ptr = self.buffer.tell()
self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
self.newlines -= 1
return self.buffer.readline()
def flush(self):
if self.writable:
os.write(self._fd, self.buffer.getvalue())
self.buffer.truncate(0), self.buffer.seek(0)
class IOWrapper(IOBase):
def __init__(self, file):
self.buffer = FastIO(file)
self.flush = self.buffer.flush
self.writable = self.buffer.writable
self.write = lambda s: self.buffer.write(s.encode('ascii'))
self.read = lambda: self.buffer.read().decode('ascii')
self.readline = lambda: self.buffer.readline().decode('ascii')
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip('\r\n')
from bisect import bisect_left as bl
from bisect import bisect_right as br
inp = lambda: int(input())
li = lambda: list(map(int, input().split()))
lb = lambda: list(map(int, input()))
ls = lambda: list(input())
bi = lambda n: bin(n).replace("0b", "")
def yn(f):
if f:
print("YES")
else:
print("NO")
def bootstrap(f, stack=[]):
def wrappedfunc(*args, **kwargs):
if stack:
return f(*args, **kwargs)
else:
to = f(*args, **kwargs)
while True:
if type(to) is GeneratorType:
stack.append(to)
to = next(to)
else:
stack.pop()
if not stack:
break
to = stack[-1].send(to)
return to
return wrappedfunc
def isPrime(n):
if n <= 1:
return True
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i = i + 6
return True
def nf(n,a):
b=a*a
c=b*a
d=c*a
e=n
ct=0
while e%a==0:
if e%d==0:
ct+=4
e=e//d
if e%c==0:
ct+=3
e=e//c
if e%b==0:
ct+=2
e=e//b
if e%a==0:
ct+=1
e=e//a
return ct
def main(__=1):
for _ in range(__):
n=inp()
a=sorted(li())
s=sum(a[:n+1])
if s>a[-1] and (s-a[-1]) in a[:n+1]:
f=False
for i in range(n+1):
if a[i]!=(s-a[-1]) or f:
print(a[i],end=" ")
else:
f=True
print()
elif s-a[-2] == a[-2]:
print(*a[:n])
else:
print(-1)
if __name__ == "__main__":
main(inp())
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<char,int> pci;
typedef map<int,int> mapii;
typedef vector<int> vi;
#define fastIO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define int long long
#define endl "\n"
#define space " "
#define printbay(a, n) for(int i=0;i<n;i++) cout<<a[i]<<space; cout<<endl;
const int MOD = 1e9 + 7;
//---------------------------------------------------------------------------------------------------//
long long power(int aa, int n, int m = MOD)
{
long long ans = 1LL;
while(n) {
if(n&1) ans = 1LL * (ans%m * aa%m)%m;
aa = (1LL*aa%m * aa%m)%m;
n >>= 1;
}
return ans;
}
long long gcd(long long a, long long b)
{
return b == 0 ? a : gcd(b, a % b);
//O(log(min(a,b)), O(log(min(a,b))
}
long long LCM(int a, int b)
{
return a*b/gcd(a,b);
}
long long factorial(int n)
{
if (n >= MOD)
return 0;
int result = 1;
for (int i = 1; i <= n; i++)
result = (result * i) % MOD;
return result;
}
static bool cmp(pair<int,int> a, pair<int,int> b)
{
if (a==b)
{
return a.second<b.second;
}
return a.first<b.first;
}
//---------------------------------------------------------------------------------------------------//
void solve()
{
int n;
cin>>n;
int b[n+2];
int totalSum=0;
for(int i=0;i<n+2;i++)
{
cin>>b[i];
totalSum+=b[i];
}
sort(b, b+n+2);
int greatest=b[n+1];
int secondGreatest=b[n];
int k=2;
int sumIndex=n+1;
while(k--)
{
int requiredSum=b[sumIndex];
for(int i=0;i<n+2;i++)
{
if (i!=sumIndex)
{
if (totalSum-requiredSum-b[i]==requiredSum)
{
//got an answer
for(int j=0;j<n+2;j++)
{
if (j!=sumIndex && j!=i)
{
cout<<b[j]<<space;
}
}
cout<<endl;
return;
}
}
}
sumIndex--;
}
cout<<-1<<endl;
}
int32_t main()
{
fastIO;
int t;
cin>>t;
while(t--)
{
solve();
}
return 0;
}
580A- Kefa and First Steps | 1472B- Fair Division |
996A - Hit the Lottery | MSNSADM1 Football |
MATCHES Playing with Matches | HRDSEQ Hard Sequence |
DRCHEF Doctor Chef | 559. Maximum Depth of N-ary Tree |
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |
1356. Sort Integers by The Number of 1 Bits | 922. Sort Array By Parity II |
344. Reverse String | 1047. Remove All Adjacent Duplicates In String |
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |